<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="./vue.js"></script>
</head>
<body>
<div id="root">
    <button @click="fn">点我</button>
<!--    <p>{{str}}</p>-->
<!--    <p>{{num}}</p>-->
    <p>{{obj}}</p>
<!--    <p>{{arr}}</p>-->
</div>
</body>
<script>
    new Vue({
        el: '#root',
        data: {
            str:"明年开春了",
            num:0,
            obj:{
                username:"zs",
                age:18
            }
        },
        methods:{
            fn(){
                this.str+="!";
                this.num++;
                // this.obj.username +="!";
                this.obj={
                    username:"ls",
                    age:10
                }
            }
        },
        watch:{
            // str(){
            //     console.log(this.str);
            // },
            // num(newv,oldv){
            //     console.log(this.num,newv,oldv);
            // },
            // "obj.username"(newv,oldv){
            //     console.log(this.obj.username,newv,oldv);
            // },

            obj(newValue,oldValue){
            	console.log("obj",newValue,oldValue)
            }

            //深度监听效率慢
            // obj:{
            //     //句柄
            //     handler(newValue,oldValue){
            //         console.log(1,this.obj,newValue,oldValue,newValue===oldValue); //false
            //     },
            //     deep:true,
            // }
        }
    })
</script>
</html>